Due to an increasing number of users and the emergence of new web technologies (with an emphasis on user-generated content (e.g., Web 2.0), many websites and web services currently experience a very high rate of requests for data and services and need to support concurrent access to a very large number of users.
There are typically two types of concurrent access: strict concurrent access and general concurrent access. For strict concurrent access all users are working on similar matters or performing similar operations simultaneously. The types of operations performed by the users comprise similar types of tasks. For general concurrent access, multiple users are able to send requests to the system and are able to conduct operations. In this case, the requests and the operations performed by the multiple users can be the same or different. However, in either case, from the perspective of the overall web system, the multiple users conducting operations are viewed in the same manner as a general concurrent access. The latter case, where multiple users are conducting different operations, better reflects the way in which applications are typically used by multiple users.
When there is an increase in the number of the concurrent users in a system, a response time to a request from a user is increased. This is especially true when the number of the concurrent users exceeds certain thresholds. Further, when there is a large number of concurrent users and in turn a large number of requests which are submitted to a server, there is a greater likelihood of the server freezing or the system failing because of an overload.
The present disclosure provides mechanisms to control data permissions to ease the burden on the server when receiving higher than normal requests and improve performance of the server while preventing server failures during operation.